/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package entities;

import java.util.ArrayList;
import org.newdawn.slick.Animation;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.geom.Polygon;
import physics.Physics;

/**
 *
 * @author wida52629504
 */
public interface Entity {
    //posiciones
    public float getPosX();
    public float getPosY();
    public void setPosX(float posX);
    public void setPosY(float posY);

    //velocidades
    public float getVelX();
    public float getVelY();
    public void setVelX(float velX);
    public void setVelY(float velY);

    //poligono de colisiones
    public Polygon getPoly();
    public void setPoly(float xLeft,float xRight,float yUp,float yBottom);

    //imagenes
    public ArrayList<Image> getImgs();
    public void setImgs(ArrayList<Image> imgs);

    //animaciones
    public Animation getAnimation();
    public void setAnimation(Animation animation);

    //metodo update(para autoposicionarse) que se llamaran desde el metodo update del juego principal
    public void Update(GameContainer gc, int delta, Physics phys);

    //metodo render para que se auto envie que donde y cuando dibujar llamados en el juego principal
    public void Render(GameContainer gc, Graphics g, int incX, int incY);



}
